#pragma once
#include<unistd.h>
#include<sys/syscall.h>


namespace CurrentThread{
    extern __thread int t_cachedTid;

    void cacheTid();

    inline int tid(){
        if(__builtin_expect(t_cachedTid==0,0)){
            cacheTid();
        }
        return t_cachedTid;
    }
}